home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / icon / packages.lha / packages / atari / ats.arc / STAND.ARC / BTREES.U1 < prev    next >
Text File  |  1990-03-28  |  3KB  |  317 lines

  1. proc main
  2.     local    0,000020,line
  3.     local    1,000020,tree
  4.     local    2,000000,read
  5.     local    3,000000,tform
  6.     local    4,000000,write
  7.     local    5,000000,walk
  8.     local    6,000000,leaves
  9.     con    0,010000,9,164,162,145,145,040,167,141,154,153
  10.     con    1,010000,6,154,145,141,166,145,163
  11.     declend
  12.     filen    btrees.icn
  13.     line    11
  14.     mark    L1
  15. lab L2
  16.     mark0
  17.     pnull
  18.     var    0
  19.     var    2
  20.     pnull
  21.     line    13
  22.     invoke    1
  23.     asgn
  24.     unmark
  25.     mark    L2
  26.     mark    L5
  27.     pnull
  28.     var    1
  29.     var    3
  30.     var    0
  31.     line    14
  32.     invoke    1
  33.     asgn
  34.     unmark
  35. lab L5
  36.     mark    L6
  37.     var    4
  38.     str    0
  39.     line    15
  40.     invoke    1
  41.     unmark
  42. lab L6
  43.     mark    L7
  44.     mark0
  45.     var    4
  46.     var    5
  47.     var    1
  48.     line    16
  49.     invoke    1
  50.     invoke    1
  51.     pop
  52. lab L8
  53.     efail
  54. lab L9
  55.     unmark
  56. lab L7
  57.     mark    L10
  58.     var    4
  59.     str    1
  60.     line    17
  61.     invoke    1
  62.     unmark
  63. lab L10
  64.     mark0
  65.     var    4
  66.     var    6
  67.     var    1
  68.     line    18
  69.     invoke    1
  70.     invoke    1
  71.     pop
  72. lab L11
  73.     efail
  74. lab L12
  75. lab L3
  76.     unmark
  77.     goto    L2
  78. lab L4
  79.     unmark
  80. lab L1
  81.     pnull
  82.     line    20
  83.     pfail
  84.     end
  85. proc tform
  86.     local    0,001000,s
  87.     local    1,000020,value
  88.     local    2,000020,left
  89.     local    3,000020,right
  90.     local    4,000000,tab
  91.     local    5,000000,upto
  92.     local    6,000000,move
  93.     local    7,000000,bal
  94.     local    8,000000,node
  95.     local    9,000000,tform
  96.     con    0,020000,1,050
  97.     con    1,002000,1,1
  98.     con    2,020000,1,054
  99.     con    3,020000,1,051
  100.     declend
  101.     line    22
  102.     mark    L1
  103.     mark0
  104.     pnull
  105.     var    0
  106.     line    24
  107.     null
  108.     unmark
  109.     mark    L2
  110.     pnull
  111.     pret
  112. lab L2
  113.     pfail
  114.     unmark
  115. lab L1
  116.     mark    L3
  117.     var    0
  118.     line    25
  119.     bscan
  120.     mark    L4
  121.     pnull
  122.     var    1
  123.     var    4
  124.     var    5
  125.     cset    0
  126.     invoke    1
  127.     invoke    1
  128.     asgn
  129.     unmark
  130.     mark    L6
  131.     var    6
  132.     int    1
  133.     line    26
  134.     invoke    1
  135.     unmark
  136. lab L6
  137.     mark    L7
  138.     pnull
  139.     var    2
  140.     var    4
  141.     var    7
  142.     cset    2
  143.     line    27
  144.     invoke    1
  145.     invoke    1
  146.     asgn
  147.     unmark
  148. lab L7
  149.     mark    L8
  150.     var    6
  151.     int    1
  152.     line    28
  153.     invoke    1
  154.     unmark
  155. lab L8
  156.     mark    L9
  157.     pnull
  158.     var    3
  159.     var    4
  160.     var    7
  161.     cset    3
  162.     line    29
  163.     invoke    1
  164.     invoke    1
  165.     asgn
  166.     unmark
  167. lab L9
  168.     mark    L10
  169.     var    8
  170.     var    1
  171.     var    9
  172.     var    2
  173.     line    30
  174.     invoke    1
  175.     var    9
  176.     var    3
  177.     invoke    1
  178.     invoke    3
  179.     pret
  180. lab L10
  181.     pfail
  182.     goto    L5
  183. lab L4
  184.     mark    L11
  185.     var    8
  186.     var    0
  187.     line    32
  188.     invoke    1
  189.     pret
  190. lab L11
  191.     pfail
  192. lab L5
  193.     line    25
  194.     escan
  195.     unmark
  196. lab L3
  197.     pnull
  198.     line    33
  199.     pfail
  200.     end
  201. proc walk
  202.     local    0,001000,t
  203.     local    1,000000,walk
  204.     declend
  205.     line    35
  206.     mark    L1
  207.     mark0
  208.     var    1
  209.     mark    L4
  210.     pnull
  211.     pnull
  212.     var    0
  213.     line    36
  214.     field    ltree
  215.     nonnull
  216.     esusp
  217.     goto    L5
  218. lab L4
  219.     pnull
  220.     pnull
  221.     var    0
  222.     field    rtree
  223.     nonnull
  224. lab L5
  225.     invoke    1
  226.     psusp
  227.     pop
  228. lab L2
  229.     efail
  230. lab L3
  231.     unmark
  232. lab L1
  233.     mark    L6
  234.     mark    L7
  235.     pnull
  236.     var    0
  237.     line    37
  238.     field    data
  239.     pret
  240. lab L7
  241.     pfail
  242.     unmark
  243. lab L6
  244.     pnull
  245.     line    38
  246.     pfail
  247.     end
  248. proc leaves
  249.     local    0,001000,t
  250.     local    1,000000,leaves
  251.     declend
  252.     line    40
  253.     mark    L1
  254.     mark0
  255.     mark    L2
  256.     mark    L3
  257.     pnull
  258.     pnull
  259.     var    0
  260.     line    41
  261.     field    ltree
  262.     nonnull
  263.     esusp
  264.     goto    L4
  265. lab L3
  266.     pnull
  267.     pnull
  268.     var    0
  269.     field    rtree
  270.     nonnull
  271. lab L4
  272.     unmark
  273.     efail
  274. lab L2
  275.     pnull
  276.     unmark
  277.     mark    L5
  278.     pnull
  279.     var    0
  280.     field    data
  281.     pret
  282. lab L5
  283.     pfail
  284.     unmark
  285. lab L1
  286.     mark    L6
  287.     mark0
  288.     var    1
  289.     mark    L9
  290.     pnull
  291.     pnull
  292.     var    0
  293.     line    42
  294.     field    ltree
  295.     nonnull
  296.     esusp
  297.     goto    L10
  298. lab L9
  299.     pnull
  300.     pnull
  301.     var    0
  302.     field    rtree
  303.     nonnull
  304. lab L10
  305.     invoke    1
  306.     psusp
  307.     pop
  308. lab L7
  309.     efail
  310. lab L8
  311.     unmark
  312. lab L6
  313.     pnull
  314.     line    43
  315.     pfail
  316.     end
  317.